成果展示:



觸發條件:生命=5、分數大於等於25、按下鍵盤上的Q和E



太大
剛好
觸發條件:碰到你所設定的圖





### 第一部分:戰機升級(速度改變)
function 戰機_升級 () {
    if (info.score() >= 25 && info.life() >= 5) {
        戰機.destroy()
    }
}
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
    子彈2(1)
    if (controller.B.isPressed()) {
        戰機_升級()
    }
})
sprites.onDestroyed(SpriteKind.Player, function (sprite) {
    戰機 = sprites.create(img`
        ffffffffffffffffffff
        ffffffffffffffffffff
        fffffffff22fffffffff
        fffffffff22fffffffff
        fffffffffeefffffffff
        ffffffffeeeeffffffff
        fff5ffffe55effff5fff
        ff9effffe55effffe9ff
        ff9ef22feeeef22fe9ff
        ff9eeeeeeeeeeeeee9ff
        ff9eeeeeeddeeeeee9ff
        ff9ef22feddef22fe9ff
        ff9efddffeeffddfe9ff
        fff5fffffeefffff5fff
        ffffffff5ee5ffffffff
        ffffffffeeeeffffffff
        fffffffd2ee2dfffffff
        ffffffdd2ee2ddffffff
        ffffffffffffffffffff
        ffffffffffffffffffff
        `, SpriteKind.Player)
    scene.cameraFollowSprite(戰機)
    controller.moveSprite(戰機, 200, 200)
})
    
### 第三部分:增加護盾
let 護航盾2: Sprite = null
export const 護航盾 = SpriteKind.create()
game.onUpdateInterval(randint(750, 1000), function () {
    護航盾2 = sprites.createProjectileFromSide(img`
        . . . . . . . . . . 
        . . . . e 2 . . . . 
        . . . . e e . . . . 
        . e . . e e . . e . 
        e e . e 5 5 e . e e 
        5 e e e e e e e e 5 
        e e . . d d . . e e 
        . e . . e e . . e . 
        . . . e 2 2 e . . . 
        . . e e 2 2 e e . . 
        `, 10, randint(-10, 100))
    護航盾2.x = randint(10, 780)
    護航盾2.setKind(SpriteKind.護航盾)
})
function 護航盾3 () {
    護航盾2 = sprites.createProjectileFromSprite(img`
        . . 5 5 5 5 5 5 . . 
        . 5 5 . . . . 5 5 . 
        5 5 . . . . . . 5 5 
        5 . . . . . . . . 5 
        5 . . . . . . . . 5 
        5 . . . . . . . . 5 
        5 . . . . . . . . 5 
        5 5 . . . . . . 5 5 
        . 5 5 . . . . 5 5 . 
        . . 5 5 5 5 5 5 . . 
        `, 戰機, 0, 0)
    護航盾2.follow(戰機)
    護航盾2.changeScale(3, ScaleAnchor.Middle)
}
sprites.onOverlap(SpriteKind.護航盾, SpriteKind.Enemy, function (sprite, otherSprite) {
    otherSprite.destroy()
    info.changeScoreBy(1)
    pause(200)
    sprite.destroy()
})
sprites.onOverlap(SpriteKind.護航盾, SpriteKind.Player, function (sprite, otherSprite) {
    sprite.destroy()
    sprite.destroy(effects.halo)
    護航盾2()
})
<br>
  
[原官方版本](https://makecode.com/_cX0c1KXU55wJ)
[加強版](https://arcade.makecode.com/S09344-46753-02560-72225)
##### 作者:謝熙智